<?php
class Torneo extends AppModel {

	var $name = 'Torneo';
	var $primaryKey = 'torneo';
	var $validate = array(
		'maxequipos' => array(
			'limit' => array(
				'rule' => array('comparison', '>', 0),
				'message' => 'La cantidad max de equipos debe ser mayor a cero')
			,
			'notEmpty' => array(	
				'rule' => 'notEmpty',
				'required' => true,
				'message' => 'La cantidad max de equipos no puede estar vacio')
			),
		'nombre' => array(
			'notEmpty' => array(	
				'rule' => 'notEmpty',
				'required' => true,
				'message' => 'El nombre no puede estar vacio')
			));
	var $belongsTo = array(
			'Nivel' => array('className' => 'Tiposala',
								'foreignKey' => 'nivel',
								'conditions' =>'',
								'fields' => '',
								'order' => ''
			));
	var $hasMany = array(
			'Equipo' => array('className' => 'Equipo',
								'foreignKey' => 'torneo_id',
								'dependent' => false,
								'conditions' => '',
								'fields' => '',
								'order' => '',
								'limit' => '',
								'offset' => '',
								'exclusive' => '',
								'finderQuery' => '',
								'counterQuery' => ''
			),
			'Partido' => array('className' => 'Partido',
								'foreignKey' => 'torneo_id',
								'dependent' => false,
								'conditions' => '',
								'fields' => '',
								'order' => '',
								'limit' => '',
								'offset' => '',
								'exclusive' => '',
								'finderQuery' => '',
								'counterQuery' => ''
			),
			'EstadisticasTorneo' => array('className' => 'EstadisticasTorneo',
								'foreignKey' => 'torneo_id',
								'dependent' => false,
								'conditions' => '',
								'fields' => '',
								'order' => '',
								'limit' => '',
								'offset' => '',
								'exclusive' => '',
								'finderQuery' => '',
								'counterQuery' => ''
			)
	);
	function tabla_posiciones($torneo_id)
        {
               $tabla_posiciones=$this->EstadisticasTorneo->find('all', array('order'=>'EstadisticasTorneo.puntos DESC', 'conditions'=>array('EstadisticasTorneo.torneo_id ='=> $torneo_id)));
               //print_r($topTeam);
               return $tabla_posiciones;
        }
	
	function equipos_torneo_actual($torneo_id)
        {
               $equipos_torneo_actual=$this->Equipo->find('all', array('conditions'=>array('Equipo.torneo_id ='=> $torneo_id)));
               //print_r($topTeam);
               return $equipos_torneo_actual;
        }
	
	/*function myTorneo($userId){
		$torneos= $this->find('all',array('conditions'=>array('Torneo.estado <'=>10,'Torneo.estado' > 0)));
		print_r($torneos);
		foreach($torneos as $torneo){
			foreach($torneo['Equipo'] as $equipo){
				if($equipo['user_id']==$userId){
					return $torneo
				}
			}
		}
	}*/
	
	function topPorcentajeWinners($tipo=1){
		if($tipo==1){
			return $this->find('all', array('conditions'=>array('Torneo.estado >'=>9),'order' => array('Torneo.cantequipos DESC'),'limit' => 30));
		}
	}
	
	function torneoPertenezco($userId){
		$user=ClassRegistry::init('User')->findByUser($userId);
		$equipo=$this->Equipo->find('first', array('conditions'=>array('Equipo.equipo'=>$user['User']['equipo_id'])));
		if(!$equipo){// el equipo del $userId no esta inscripto en el torneo
			return 0;
		}else{
			//los partidos del equipo
			$partidos=$this->Partido->find('all', array('conditions'=>array('Partido.torneo_id >'=>0, 'Partido.estado <'=> 10,
				"or" => array ("Partido.equipolocal_id " => $equipo['Equipo']['equipo'],"Partido.equipovisitante_id " => $equipo['Equipo']['equipo'])
				)));
			
			//print_r($partidos);
			foreach ($partidos as $partido){
				foreach($partido['PartidosUser'] as $partidoUser){
					if($partidoUser['user_id']==$user['User']['user'] && ($partidoUser['estado']>1&& $partidoUser['estado']<10)){
						return $partido['Partido']['torneo_id'];
					}
				}
			}
			return 0;
			
		}
	}
 
}
?>